/* 
** (Copyright) sejishikong <sejishikong@263.net>
** Authors:    sejishikong <sejishikong@263.net>
**             Wei Lian <lianwei3@gmail.com> 
** Maintainer: Wei Lian
**    This program is free software; you can redistribute it and/or modify
**    it under the terms of the GNU General Public License Version 2 as
**    published by the Free Software Foundation;
**
**    This program is distributed in the hope that it will be useful,
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**    GNU General Public License for more details.
**
**    You should have received a copy of the GNU General Public License
**    along with this program; if not, write to the Free Software
**    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
*/

#ifndef SOPFORK_H
#define SOPFORK_H

#include <qhbox.h>
class MyStatusBar;
class QProcess;
class QSocketNotifier;
class TabWidget;

class SopFork:public QHBox
{
   Q_OBJECT			/// 
 public:
   SopFork (TabWidget * tw = 0, QWidget * parent = 0, const char *name = 0);
    ~SopFork ();
   bool forkSop (QString, QString, QString type = "wmv");
   void killSop ();
   char outport[8];
   QSocketNotifier *snstatus;
   QString channelurl;
   QString channelname;
   QString channeltype;
   QProcess *sop;

 protected:
     MyStatusBar * statusbar;
   TabWidget *tabwidget;

 private:
   char inport[8];
   QTimer *echotimer;

   protected slots:		////
     virtual void parseStdout ();
   virtual void onSopExit ();

   private slots:		////
   void streamReady (int);
   void echo ();

};

#endif
